namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Configuration Structure</summary>
	/// <definedin>src\widgets\form\Action.js</definedin>
	public sealed class Action_Submit_Configuration : Record
	{
		
		#region Fields
		/// <summary>
		/// Optional. JSON is interpreted with
		/// no need for an errorReader.  A Reader which reads a single record from the returned data. The DataReader&apos;s
		/// success property specifies how submission success is determined. The Record&apos;s
		/// data provides the error messages to apply to any invalid form Fields.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Optional. JSON is interpreted with
		/// no need for an errorReader.&lt;/b&gt;&lt;/p&gt;
		/// &lt;p&gt;A Reader which reads a single record from the returned data. The DataReader&apos;s
		/// &lt;b&gt;success&lt;/b&gt; property specifies how submission success is determined. The Record&apos;s
		/// data provides the error messages to apply to any invalid form Fields.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("errorReader")]
		public ext.data.DataReader ErrorReader;
		
		/// <summary>
		/// Determines whether a Form&apos;s fields are validated
		/// in a final call to {@link Ext.form.BasicForm#isValid isValid} prior to submission.
		/// Pass false in the Form&apos;s submit options to prevent this. If not defined, pre-submission field validation
		/// is performed.
		/// </summary>
		/// <htmlSummary>
		/// Determines whether a Form&apos;s fields are validated
		/// in a final call to {@link Ext.form.BasicForm#isValid isValid} prior to submission.
		/// Pass &lt;tt&gt;false&lt;/tt&gt; in the Form&apos;s submit options to prevent this. If not defined, pre-submission field validation
		/// is performed.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("clientValidation")]
		public bool ClientValidation;
		#endregion
		
		#region ext.form.Action_Configuration Members
		/// <summary>The URL that the Action is to invoke.</summary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("url")]
		public string Url;
		
		/// <summary>
		/// When set to true, causes the Form to be
		/// {@link Ext.form.BasicForm.reset reset} on Action success. If specified, this happens
		/// before the {@link #success} callback is called and before the Form&apos;s
		/// {@link Ext.form.BasicForm.actioncomplete actioncomplete} event fires.
		/// </summary>
		/// <htmlSummary>
		/// When set to &lt;tt&gt;&lt;b&gt;true&lt;/b&gt;&lt;/tt&gt;, causes the Form to be
		/// {@link Ext.form.BasicForm.reset reset} on Action success. If specified, this happens
		/// &lt;b&gt;before&lt;/b&gt; the {@link #success} callback is called and before the Form&apos;s
		/// {@link Ext.form.BasicForm.actioncomplete actioncomplete} event fires.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("reset")]
		public bool Reset;
		
		/// <summary>
		/// The HTTP method to use to access the requested URL. Defaults to the
		/// {@link Ext.form.BasicForm}&apos;s method, or if that is not specified, the underlying DOM form&apos;s method.
		/// </summary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("method")]
		public string Method;
		
		/// <summary>
		/// Extra parameter values to pass. These are added to the Form&apos;s
		/// {@link Ext.form.BasicForm#baseParams} and passed to the specified URL along with the Form&apos;s
		/// input fields.  Parameters are encoded as standard HTTP parameters using {@link Ext#urlEncode}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Extra parameter values to pass. These are added to the Form&apos;s
		/// {@link Ext.form.BasicForm#baseParams} and passed to the specified URL along with the Form&apos;s
		/// input fields.&lt;/p&gt;
		/// &lt;p&gt;Parameters are encoded as standard HTTP parameters using {@link Ext#urlEncode}.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("params")]
		public object Params;
		
		/// <summary>
		/// The number of seconds to wait for a server response before
		/// failing with the {@link #failureType} as {@link #Action.CONNECT_FAILURE}. If not specified,
		/// defaults to the configured {@link Ext.form.BasicForm#timeout timeout} of the
		/// {@link Ext.form.BasicForm form}.
		/// </summary>
		/// <htmlSummary>
		/// The number of seconds to wait for a server response before
		/// failing with the {@link #failureType} as {@link #Action.CONNECT_FAILURE}. If not specified,
		/// defaults to the configured &lt;tt&gt;{@link Ext.form.BasicForm#timeout timeout}&lt;/tt&gt; of the
		/// {@link Ext.form.BasicForm form}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("timeout")]
		public System.Number Timeout;
		
		/// <summary>
		/// The function to call when a valid success return packet is recieved.
		/// The function is passed the following parameters:  form : Ext.form.BasicForm The form that requested the action   action : Ext.form.Action The Action class. The {@link #result}
		/// property of this object may be examined to perform custom postprocessing.
		/// </summary>
		/// <htmlSummary>
		/// The function to call when a valid success return packet is recieved.
		/// The function is passed the following parameters:&lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;form&lt;/b&gt; : Ext.form.BasicForm&lt;div class=&quot;sub-desc&quot;&gt;The form that requested the action&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;action&lt;/b&gt; : Ext.form.Action&lt;div class=&quot;sub-desc&quot;&gt;The Action class. The {@link #result}
		/// property of this object may be examined to perform custom postprocessing.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("success")]
		public System.Delegate Success;
		
		/// <summary>
		/// The function to call when a failure packet was recieved, or when an
		/// error ocurred in the Ajax communication.
		/// The function is passed the following parameters:  form : Ext.form.BasicForm The form that requested the action   action : Ext.form.Action The Action class. If an Ajax
		/// error ocurred, the failure type will be in {@link #failureType}. The {@link #result}
		/// property of this object may be examined to perform custom postprocessing.
		/// </summary>
		/// <htmlSummary>
		/// The function to call when a failure packet was recieved, or when an
		/// error ocurred in the Ajax communication.
		/// The function is passed the following parameters:&lt;ul class=&quot;mdetail-params&quot;&gt;
		/// &lt;li&gt;&lt;b&gt;form&lt;/b&gt; : Ext.form.BasicForm&lt;div class=&quot;sub-desc&quot;&gt;The form that requested the action&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;action&lt;/b&gt; : Ext.form.Action&lt;div class=&quot;sub-desc&quot;&gt;The Action class. If an Ajax
		/// error ocurred, the failure type will be in {@link #failureType}. The {@link #result}
		/// property of this object may be examined to perform custom postprocessing.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("failure")]
		public System.Delegate Failure;
		
		/// <summary>
		/// The scope in which to call the callback functions (The this reference
		/// for the callback functions).
		/// </summary>
		/// <htmlSummary>
		/// The scope in which to call the callback functions (The &lt;tt&gt;this&lt;/tt&gt; reference
		/// for the callback functions).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("scope")]
		public object Scope;
		
		/// <summary>
		/// The message to be displayed by a call to {@link Ext.MessageBox#wait}
		/// during the time the action is being processed.
		/// </summary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("waitMsg")]
		public string WaitMsg;
		
		/// <summary>
		/// The title to be displayed by a call to {@link Ext.MessageBox#wait}
		/// during the time the action is being processed.
		/// </summary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("waitTitle")]
		public string WaitTitle;
		
		/// <summary>
		/// If set to true, the emptyText value will be sent with the form
		/// when it is submitted. Defaults to true.
		/// </summary>
		/// <htmlSummary>
		/// If set to &lt;tt&gt;true&lt;/tt&gt;, the emptyText value will be sent with the form
		/// when it is submitted. Defaults to &lt;tt&gt;true&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Action.js</definedin>
		[ScriptName("submitEmptyText")]
		public bool SubmitEmptyText;
		#endregion
	}
}
